Today's networked computing environments are used in businesses for generating and storing large amounts of critical data. For example, banks, insurance companies, and manufacturing companies generate and store critical data related to their business and to their customers. It is therefore very important that the storage systems used for storing the critical data are highly reliable. “High Availability” storage systems employ various means for optimizing the reliability of storage systems.
High Availability systems are generally designed such that single points of failure are avoided. One means for avoiding single points of failure is to provide redundant components. For example, two processors may be provided such that if one fails, the other can assume the role of the first processor as well as its own. Or, redundant software code may be provided such that, if the medium on which one code image resides fails, the redundant image may be accessed.
In a particular storage environment, for each redundant controller module, redundant boot code images are stored on different disk drives. The disk drives containing the boot code images (“boot disks”) are coupled to particular ones of a set of connectors that couple the modules to the drives. The connectors are subject to failure themselves. Failure of full or partial connectivity through a connector is often due to mis-seating of the connector halves upon insertion of a module enclosure into the storage system chassis. Such a failure can prevent one or more of the modules from accessing its boot disks. In order to improve high availability of the storage system, it would be advantageous to be able to identify and react to connector connectivity failures, particularly where access to boot disks may be affected.